The IEEE1394 interface is known as digital interface to transfer such multimedia information as images and voices at a high speed and real-time between the digital cameras and the personal computers.
In this IEEE 1394, up to 63 terminal units (hereinafter referred to as nodes) can be connected to one bus, and the longest length of cable that can connect any two nodes is 4.5 m. All the nodes that are connected to the buses 102 of this IEEE 1394 have each a virtual address space—48-bit address space called CSR address—on a memory 300 built in the terminal unit 100 as shown in FIG. 20—and communication between the respective nodes is effected by reading or writing in this address space. The node, in case a request packet requesting to read or write in another node connected to the same bus is sent, sets the timer with a value as timer value—a value set at a split time out register (SPLIT_TIMEOUT REGISTER) 310 (hereinafter referred to as time out register) located at a specific place in the address space of the memory of the own node. It is so arranged that in case the timer times out before a response packet is received from the destination node of the request packet (hereinafter referred to as destination node), the source node of the request packet (hereinafter referred to as source node) will do necessary time out procedures as re-sending of the request packet.
With a value of 100 ms as initial value, the time out register can be changed from the source node or another node connected to the bus. Generally, the change can be made beforehand within the limit not exceeding the maximum 8 seconds in case the time required for the source node to send a response packet after receiving a request packet exceeds 100 ms.
In case a number of terminal units are used on the IEEE 1394 buses or terminal units are used more than 4.5 m away from a node, a plurality of buses will have to be connected. For connecting the buses to each other, such a bus bridge is needed as disclosed in the Japanese patent application laid open under No. 11-55297 (U.S. patent application Ser. No. 09/130,601).
FIG. 21 shows the relation between a bus bridge 101, two buses 102, 103 and terminal units 100. In this bus bridge 101, when data is transferred from a specific node to another specific node, the node identification (ID) and other necessary parameters at the source are replaced by those at the destination, which makes it possible to transfer data between different buses. Here if, on the bus of the IEEE 1394, a new node is connected to a specific bus or a node connected to a specific node is cut off, the bus will be reset. Each time the bus is reset, new node ID's will be given in accordance with a specific rule.
In case, as set forth above, a plurality of IEEE 1394 buses are connected using the bus bridge to transfer packets between the nodes, the bus bridge will do such procedures as switching from the bus ID of the request packet received from the source node to the bus ID of the bus connected to the destination node so as to send the packets. Also, the response packet received from the destination node is changed in bus ID, and sent to the source node.
In this case, too, the source node reads the time out register value of its own node the same way as above. With this value as timer value, the timer is set. And in case the timer times out before a response packet is received from the node via the bus bridge, such error procedures are taken as re-sending the request packet.
In this connection, it may be suggested that the bus bridge should change in advance the time out register value of the transfer source node, on supposition that the time required to transfer the request packet and transfer the response packet can exceed the time out default value. But it can happen that there are a plurality of nodes that request the bus bridge to transfer the request packets. In the above method, therefore, the bus bridge is to set all the time out registers of transfer source node of request packets in advance, which increases the traffic volume and could hinder ordinary data communication.
Furthermore, the time required for the response packet to be received after the request packet is sent can be different depending on the processing capacity of the transfer destination node and on the condition of the destination node. However, each node has only one time out register, and to avoid time out, the source node has to use the maximum timer value combined of the source node and the destination node. However, to use the same timer value for all transfers presents a processing efficiency problem.
Another problem is that since the bus bridge requires complicated procedures for transfer of the packets, the transfer source node time out register has to set the time with consideration given to the overhead needed for the bus bridge to transfer packets. Furthermore, in case packets are transferred between nodes via a plurality of bus bridges, the overhead can further increase. In such a case, the time required for a response packet to be received after the request packet is sent can exceed the maximum value set on the time out register, which can hinder normal packet communication.